package com.macro.mall.service;

import com.macro.mall.common.api.CommonPage;
import com.macro.mall.common.api.CommonResult;
import com.macro.mall.dto.UmsAdminDTO;
import com.macro.mall.dto.UmsPlantingTechnologyDto;
import com.macro.mall.model.UmsPlantingTechnology;
import com.macro.mall.model.UmsPlantingTechnologyType;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 种植技术分类Service
 */
public interface UmsPlantingTechnologyService {

    /**
     * 后台新增种植技术分类
     * @author 高强
     * @Date 2020年9月1日
     * @param umsPlantingTechnologyType
     * @return
     */
    int creatType(UmsPlantingTechnologyType umsPlantingTechnologyType);

    /**
     * 后台删除种植技术分类
     * @author 高强
     * @Date 2020年9月1日
     * @param id
     * @return
     */
    int deleteType(Long id);

    /**
     * 获取分类列表
     * @return
     */
    List<UmsPlantingTechnologyType> getPlantingTechnologyType(Long storeId,String type, Integer pageSize, Integer pageNum);

    /**
     * 根据id获取文章分类
     * @param id
     * @return
     */
    UmsPlantingTechnologyType getType(Long id);

    /**
     * 后台新增种植技术
     * @author 高强
     * @Date 2020年9月1日
     * @param umsPlantingTechnologyDto 种植技术
     * @param typeId                种植技术分类id
     * @return
     */
    int creat(UmsPlantingTechnologyDto umsPlantingTechnologyDto, UmsAdminDTO umsAdminDTO);

    /**
     * 修改种植技术分类
     * @param id
     * @param umsPlantingTechnologyType
     * @return
     */
    int updateType(UmsPlantingTechnologyType umsPlantingTechnologyType);


    /**
     * 后台显示当前门店种植技术
     * @param storeId 门店id
     * @param keyWord 门店标题模糊查询
     * @return
     */
    CommonPage<UmsPlantingTechnologyDto> getPlantList(Long storeId, String keyWord, Integer pageNum, Integer pageSize);

    /**
     * 修改当前种植技术
     * @param umsPlantingTechnologyDto
     * @return
     */
    CommonResult updatePlant(UmsPlantingTechnologyDto umsPlantingTechnologyDto);

    /**
     * 删除单条种植技术
     * @param id
     * @return
     */
    CommonResult deletePlant(Long id);

    /**
     * 批量删除种植技术
     * @param ids
     * @return
     */
    CommonResult deletePlantList(List<Long> ids);
}
